package com.bosssoft.boss_exam_db.service.busines;

import com.bosssoft.boss_exam_db.entity.Company;
import com.bosssoft.boss_exam_db.entity.ExamExamPaper;
import com.bosssoft.boss_exam_db.entity.ExamPaper;
import com.bosssoft.boss_exam_db.model.DTO.RandomPaperDTO;
import com.bosssoft.boss_exam_db.model.vo.ExamPaperIsSubmitVO;
import com.bosssoft.boss_exam_db.model.vo.ExamPaperVO;
import com.bosssoft.boss_exam_db.service.base.BaseService;
import com.github.pagehelper.PageInfo;

import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;

public interface ExamPaperService extends BaseService<ExamPaper> {
    PageInfo<ExamPaperIsSubmitVO> queryByCondition(Company company, String examPaperName, String jobId, Integer openFlag, Integer page, Integer limit, String sort, String order);
    List<ExamPaperVO> selectAllQuestion(String id);

    Boolean checkIsSummitQuestion(String compamyId, String examPaperId);
    Boolean deleteForCascade(ExamPaper examPaper) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;


    List<RandomPaperDTO.QuestionTypeOrderNum> queryExamPaperQuestionDetail(String companyId, String examPaperId, List<Map<String, Object>> questionTypeMaps);

    List<RandomPaperDTO.QuestionTypeOrderNum> queryExamPaperQuestionDetail(String examPaperId, List<Map<String, Object>> questionTypeMaps);

    List<ExamExamPaper> queryExamPaperByExamId(String examId);
}
